Hard disk drives typically read and write data in blocks corresponding to sectors on a magnetic disk. Other data storage devices similarly use fixed size data blocks. Storage clients frequently use partial blocks of data, but such use causes access to and/or transfer of full blocks in order to use the partial blocks. Transferring full blocks is inefficient, as more data may be transferred than the client will use. This results in increased traffic on limited-bandwidth data buses, increased use of host memory, and increased processing overhead.
Using smaller block sizes may reduce the inefficiencies of transferring unused data. Storing data at a smaller granularity, however, can increase the metadata overhead associated with tracking and managing the data.